# -*- coding: utf-8 -*-
# @Time    : 2021/5/6 15:28
# @Author  : xxue
# @Email   : x_xue1212@163.com
# @File    : 类实现斐波拉契数列.py
# @Software: PyCharm

# 用类实现斐波拉契数列的运算 （编写自定义迭代器）

class Fib(object):
    def __init__(self):
        self.a, self.b = 0,1  # 初始化两个计数器a，b
    def __iter__(self): # 实例本身就是迭代对象，故返回自己
        return self
    def __next__(self):
        self.a, self.b = self.b, self.a + self.b  # 计算下一个值
        if self.a > 1000:  # 退出循环的条件
            raise StopIteration
        else:
            return self.a  # 返回下一个值
for n in Fib():
    print(n,end=',')
